<?php
if(!isset($in_pmt)) header("Location:index.php");
/// взимане на началният баланс
$query = $db->query("SELECT * FROM `balances` WHERE `date` = '{$date->curr_date}'");
$start_balance = $db->fetch_assoc($query);
if($date->last_unix_time < $date->curr_unix_time){
	$not_finished = true;
} 

$counted = $start_balance['end'];
$start_balance = $start_balance["start"];

$sum =0;
///проверка дали има разходи за деня

$query = $db->query("SELECT * FROM uses JOIN products ON uses.product_id = products.pid where uses.date = '{$date->curr_date}' order by uses.id asc");
if($db->num_rows($query)!=0){// ако има, показваме какви са
	$runing_uses = "<span>Разходи до момента:</span>\n<ul>";
	while($row = $db->fetch_assoc($query)){
		$runing_uses .= "<li>".$row["product"].": ";
		$runing_uses .= "<strong>".split_price($row["price"])." лв.</strong> </li>";
		$sum+= $row['price'];// разходи до момента за деня
	}
	$runing_uses.="</ul>";
}
if($not_finished){//ако има неприключен ден , покажи известие
	$msg->info("Има неприключени разходи за {$date->last_day} {$date->last_month_title} {$date->last_year}<br /><a href=\"index.php?p=addcosts&date={$date->last_date}\">Добави разходи за деня </a>");
} elseif($counted !=""){ // ако деня е приключен ,показвай само разходите
	include("day.php");
} elseif($_GET["action"]!= "add") { //показване формата за добавяне на разходи

//създаване на лист с продукти
$query = $db->query("SELECT * FROM products order by `order`");
$product_list = "<select name=\"product[]\"><option value=\"0\" ></option>";
while($row = $db->fetch_array($query)){
	$product_list.= "<option value=\"{$row[0]}\">{$row[2]}</option>";
}
$product_list.="</select>";

?>
<div id="info">
Разходи за <strong><?php echo "{$date->curr_day} {$date->curr_month_title} {$date->curr_year}г.:" ; ?></strong>, начален баланс <strong><?php echo split_price($start_balance); ?> лв.</strong>
</div>

<?php
if(isset($runing_uses)){
$msg->write("<div id=\"list\">\n");
$msg->write($runing_uses); //показване на текущи разходи, ако ги има
$msg->write("</div>");
}
?>

<div id="addform">
<span>Образец за въвеждане на цените : 123.45 - <Цяла част><точка><десетична част></span>
<form name="addform"  action="index.php?p=addcosts&amp;action=add<?php if(isset($_GET["date"])){ echo "&amp;date=".$date->curr_date;}?>" method="post">
	<label for="date">Избери предишен ден: </label><input name="date" class="date" type="text" />
	<input type="button" value="Скочи" onclick="document.location = 'index.php?p=addcosts&amp;date='+$(this).prev().val()" />
	
	<ul>
		<li>
			<input type="button" onclick="add();" value="Добави поле" />
			<input type="button" onclick="remove();" value="Премахни поле" />
		</li>
		<li>
			<label for="product">Продукт: </label><?php echo $product_list; ?>
			<label for="price">Цена: </label><input type="text" name="price[]" autocomplete="off" class="price" />
		</li>
	</ul>
	<div id="sum">Oбща сума: <strong>0.0 лв.</strong></div>
	<label for="endofday">Край на деня: <input type="checkbox" checked name="endofday" /><br />
	<label for="income">Приходи: </label><input type="text" name="income" class="income" /><br />
	<div id="addformbuttons">
		<input type="submit" disabled value="Добави" />
		<input type="button" onclick="calc('<?php echo $start_balance-$sum;?>','<?php echo $sum;?>',$(this))" value="Сметни" />
	</div>
</form>
<?php 
	if(isset($runing_uses)){
		$label = "Няма повече разходи!";
		$nothing_value = 2;
	} else {
		$label = "Няма разходи!";
		$nothing_value = 1;
	}
?>
<form name="nothing" id="nothing" action="index.php?p=addcosts&amp;action=add<?php if(isset($_GET["date"])){ echo "&amp;date=".$date->curr_date;}?>" method="post">
	<input type="hidden" name="nothing" value="<?php echo $nothing_value;?>" />
	<input type="hidden" name="date" class="date" />
	<input type="submit"  value="<?php echo $label;?>" />
</form>
</div>
<script type="text/javascript" >
		function add() {
			$('#addform li').last().after("<li class=\"newinput\">Продукт: <?php echo str_replace("\"","\\\"",$product_list);?> Цена: <input class=\"price\"type=\"text\" name=\"price[]\" autocomplete=\"off\"/></li>");
		}
		function remove() {
			$('.newinput').last().remove();
		}
</script> 
<?php 
} else {

	if((int)$_POST["nothing"] ==1){// когато няма разходи за деня
		///ъпдейт на баланса за деня
		$db->query("UPDATE balances set end = start WHERE date = '{$date->curr_date}' limit 1");
		///взимане на следващия ден

		<?php
if(!isset($in_pmt)) header("Location:index.php");
/// взимане на началният баланс
$query = $db->query("SELECT * FROM `balances` WHERE `date` = '{$date->curr_date}'");
$start_balance = $db->fetch_assoc($query);
if($date->last_unix_time < $date->curr_unix_time){
	$not_finished = true;
} 

$counted = $start_balance['end'];
$start_balance = $start_balance["start"];

$sum =0;
///проверка дали има разходи за деня

$query = $db->query("SELECT * FROM uses JOIN products ON uses.product_id = products.pid where uses.date = '{$date->curr_date}' order by uses.id asc");
if($db->num_rows($query)!=0){// ако има, показваме какви са
	$runing_uses = "<span>Разходи до момента:</span>\n<ul>";
	while($row = $db->fetch_assoc($query)){
		$runing_uses .= "<li>".$row["product"].": ";
		$runing_uses .= "<strong>".split_price($row["price"])." лв.</strong> </li>";
		$sum+= $row['price'];// разходи до момента за деня
	}
	$runing_uses.="</ul>";
}
if($not_finished){//ако има неприключен ден , покажи известие
	$msg->info("Има неприключени разходи за {$date->last_day} {$date->last_month_title} {$date->last_year}<br /><a href=\"index.php?p=addcosts&date={$date->last_date}\">Добави разходи за деня </a>");
} elseif($counted !=""){ // ако деня е приключен ,показвай само разходите
	include("day.php");
} elseif($_GET["action"]!= "add") { //показване формата за добавяне на разходи

//създаване на лист с продукти
$query = $db->query("SELECT * FROM products order by `order`");
$product_list = "<select name=\"product[]\"><option value=\"0\" ></option>";
while($row = $db->fetch_array($query)){
	$product_list.= "<option value=\"{$row[0]}\">{$row[2]}</option>";
}
$product_list.="</select>";

?>
<div id="info">
Разходи за <strong><?php echo "{$date->curr_day} {$date->curr_month_title} {$date->curr_year}г.:" ; ?></strong>, начален баланс <strong><?php echo split_price($start_balance); ?> лв.</strong>
</div>

<?php
if(isset($runing_uses)){
$msg->write("<div id=\"list\">\n");
$msg->write($runing_uses); //показване на текущи разходи, ако ги има
$msg->write("</div>");
}
?>

<div id="addform">
<span>Образец за въвеждане на цените : 123.45 - <Цяла част><точка><десетична част></span>
<form name="addform"  action="index.php?p=addcosts&amp;action=add<?php if(isset($_GET["date"])){ echo "&amp;date=".$date->curr_date;}?>" method="post">
	<label for="date">Избери предишен ден: </label><input name="date" class="date" type="text" />
	<input type="button" value="Скочи" onclick="document.location = 'index.php?p=addcosts&amp;date='+$(this).prev().val()" />
	
	<ul>
		<li>
			<input type="button" onclick="add();" value="Добави поле" />
			<input type="button" onclick="remove();" value="Премахни поле" />
		</li>
		<li>
			<label for="product">Продукт: </label><?php echo $product_list; ?>
			<label for="price">Цена: </label><input type="text" name="price[]" autocomplete="off" class="price" />
		</li>
	</ul>
	<div id="sum">Oбща сума: <strong>0.0 лв.</strong></div>
	<label for="endofday">Край на деня: <input type="checkbox" checked name="endofday" /><br />
	<label for="income">Приходи: </label><input type="text" name="income" class="income" /><br />
	<div id="addformbuttons">
		<input type="submit" disabled value="Добави" />
		<input type="button" onclick="calc('<?php echo $start_balance-$sum;?>','<?php echo $sum;?>',$(this))" value="Сметни" />
	</div>
</form>
<?php 
	if(isset($runing_uses)){
		$label = "Няма повече разходи!";
		$nothing_value = 2;
	} else {
		$label = "Няма разходи!";
		$nothing_value = 1;
	}
?>
<form name="nothing" id="nothing" action="index.php?p=addcosts&amp;action=add<?php if(isset($_GET["date"])){ echo "&amp;date=".$date->curr_date;}?>" method="post">
	<input type="hidden" name="nothing" value="<?php echo $nothing_value;?>" />
	<input type="hidden" name="date" class="date" />
	<input type="submit"  value="<?php echo $label;?>" />
</form>
</div>
<script type="text/javascript" >
		function add() {
			$('#addform li').last().after("<li class=\"newinput\">Продукт: <?php echo str_replace("\"","\\\"",$product_list);?> Цена: <input class=\"price\"type=\"text\" name=\"price[]\" autocomplete=\"off\"/></li>");
		}
		function remove() {
			$('.newinput').last().remove();
		}
</script> 
<?php 
} else {

	if((int)$_POST["nothing"] ==1){// когато няма разходи за деня
		///ъпдейт на баланса за деня
		$db->query("UPDATE balances set end = start WHERE date = '{$date->curr_date}' limit 1");
		
		/// вкаране на начален баланс за следващия ден
		$db->query("INSERT INTO balances (`date`,`start`) VALUES ('$date->next_date','$start_balance')");
		$msg->info("Добавянето е успешно! <br />Няма разходи за деня <br /><strong>".split_price($start_balance)."лв.</strong> налични за следващият ден.");
	}else if((int)$_POST["nothing"] ==2){/// когато има въведени разходи , но няма повече 
		$balance = $start_balance-$sum;
		$db->query("UPDATE balances set end = {$balance} where date='{$date->curr_date}' limit 1");
		$db->query("INSERT INTO balances (`date`,`start`) VALUES ('{$date->next_date}','{$balance}')");
		$msg->info( "Добавянето е успешно! <br /><strong>".split_price($sum)."лв.</strong> разходи за деня <br /><strong>".split_price($balance)."лв.</strong> налични за следващият ден.<br />");
	}elseif($_POST["price"][0] == ""|| $_POST["product"][0]==0){
		///ако полетата са празни не правим нищо
		$msg->error("Полетата са празни!");
	} else { // ако всичко е наред ще свършим малко работа
		///обхождане на полетата с продукти
		for($i = 0; $i<count($_POST["product"]);$i++) {
			//ако се стигне до празно поле прекъсваме цикъла
			if($_POST["product"][$i]=="" && $_POST["price"][$i] =="") break;
			//премахване на десетичната точка от цената
			$price = str_replace(".","",$_POST["price"][$i]);
			
			//добавяме разходите един по един и ако възникне проблем индикираме с $ok
			$query_str = "insert into uses ( `date`,`price`,`product_id`) values('{$date->curr_date}','{$price}','{$_POST["product"][$i]}')";
			
			if($db->query($query_str)){
				$ok = true;
			} else { 
				$ok = false;
			}
			//сумираме общия разход за деня
			$sum += $price;
		}
		
		if($ok){/// ако няма проблем с добавянето на продуктите - продължаваме
		$infomsg = "";
		$income = str_replace(".","",$_POST["income"]);	
			if($income==""){
				$end_balance =$start_balance-$sum;
				$income=0;
			} else {
				$end_balance =$start_balance+$income-$sum;
				$infomsg .= "Добавени са успешно <strong>".split_price($income)." лв.</strong> приходи за деня!<br />";
			}
			
			if($_POST['endofday']=='on'){
				$db->query("UPDATE balances set end = '$end_balance', income='$income' WHERE date = '{$date->curr_date}' limit 1");
				$db->query("INSERT INTO balances (`date`,`start`) VALUES ('{$date->next_date}','$end_balance')");
				$infomsg .= "Добавянето е успешно! <br /><strong>".split_price($sum)."лв.</strong> разходи за деня <br /><strong>".split_price($end_balance)."лв.</strong> налични за следващият ден.<br />";
				$msg->info($infomsg);
			} else {
				$msg->info( "Има <strong>".split_price($sum)."лв.</strong> разходи до момента!");
			}
		} else { $msg->error($db->error());}
	}
}
?>
		/// вкаране на начален баланс за следващия ден
		$db->query("INSERT INTO balances (`date`,`start`) VALUES ('$date->next_date','$start_balance')");
		$msg->info("Добавянето е успешно! <br />Няма разходи за деня <br /><strong>".split_price($start_balance)."лв.</strong> налични за следващият ден.");
	}else if((int)$_POST["nothing"] ==2){/// когато има въведени разходи , но няма повече 
		$balance = $start_balance-$sum;
		$db->query("UPDATE balances set end = {$balance} where date='{$date->curr_date}' limit 1");
		$db->query("INSERT INTO balances (`date`,`start`) VALUES ('{$date->next_date}','{$balance}')");
		$msg->info( "Добавянето е успешно! <br /><strong>".split_price($sum)."лв.</strong> разходи за деня <br /><strong>".split_price($balance)."лв.</strong> налични за следващият ден.<br />");
	}elseif($_POST["price"][0] == ""|| $_POST["product"][0]==0){
		///ако полетата са празни не правим нищо
		$msg->error("Полетата са празни!");
	} else { // ако всичко е наред ще свършим малко работа
		///обхождане на полетата с продукти
		for($i = 0; $i<count($_POST["product"]);$i++) {
			//ако се стигне до празно поле прекъсваме цикъла
			if($_POST["product"][$i]=="" && $_POST["price"][$i] =="") break;
			//премахване на десетичната точка от цената
			$price = str_replace(".","",$_POST["price"][$i]);
			
			//добавяме разходите един по един и ако възникне проблем индикираме с $ok
			$query_str = "insert into uses ( `date`,`price`,`product_id`) values('{$date->curr_date}','{$price}','{$_POST["product"][$i]}')";
			
			if($db->query($query_str)){
				$ok = true;
			} else { 
				$ok = false;
			}
			//сумираме общия разход за деня
			$sum += $price;
		}
		
		if($ok){/// ако няма проблем с добавянето на продуктите - продължаваме
		$infomsg = "";
		$income = str_replace(".","",$_POST["income"]);	
			if($income==""){
				$end_balance =$start_balance-$sum;
				$income=0;
			} else {
				$end_balance =$start_balance+$income-$sum;
				$infomsg .= "Добавени са успешно <strong>".split_price($income)." лв.</strong> приходи за деня!<br />";
			}
			
			if($_POST['endofday']=='on'){
				$db->query("UPDATE balances set end = '$end_balance', income='$income' WHERE date = '{$date->curr_date}' limit 1");
				$db->query("INSERT INTO balances (`date`,`start`) VALUES ('{$date->next_date}','$end_balance')");
				$infomsg .= "Добавянето е успешно! <br /><strong>".split_price($sum)."лв.</strong> разходи за деня <br /><strong>".split_price($end_balance)."лв.</strong> налични за следващият ден.<br />";
				$msg->info($infomsg);
			} else {
				$msg->info( "Има <strong>".split_price($sum)."лв.</strong> разходи до момента!");
			}
		} else { $msg->error($db->error());}
	}
}
?>